面向边缘计算的电力终端轻量级认证协议
杨晋祥1 , 彭勇刚1 , 蔡田田2 , 习伟2 , 邓清唐2
(1. 浙江大学 电气工程学院, 浙江 杭州 310027; 2. 南方电网数字电网研究院有限公司, 广东 广州 510640)
摘要: 边缘计算有效缓解了云平台的计算压力,降低网络带宽消耗,但也带来了新的安全问题,传统的认证机制不再适用于“云边端”网络架构,对此提出一种轻量级云边协同的双向身份认证协议,针对海量资源受限的电力终端,仅基于哈希与异或操作实现认证,减轻终端计算压力与带宽传输压力。利用安全协议与应用自动化验证工具(automated validation of internet security protocols and applications,AVISPA)以及安全特性分析验证协议的安全性,分析和仿真结果表明:所提协议可以抵抗重放攻击和仿冒攻击等,与同类型协议相比,具有更小的计算和通信开销。
引文信息
杨晋祥, 彭勇刚, 蔡田田, 等. 面向边缘计算的电力终端轻量级认证协议[J]. 中国电力, 2023, 56(4): 88-94.
YANG Jinxiang, PENG Yonggang, CAI Tiantian, et al. Power terminal lightweight authentication protocol for edge computing[J]. Electric Power, 2023, 56(4): 88-94.
引言
随着电力物联网技术的发展,以及海量数据产生、传输与处理,引入边缘计算作为补充辅助云平台处理数据,这使得电力物联网的网络架构向“云边端”结构演变,原本基于“双端”结构设计的协议不再适用,同时电力终端多为资源受限的嵌入式设备,传统的诸如公钥基础设施技术开销过大不适合应用于边缘计算场景,同时,电力终端往往是恶意攻击者的首要目标,攻击者很可能通过篡改终端测量信息来实现恶意攻击,因此提出符合安全要求与轻量要求的认证协议意义重大。目前终端身份认证方法大多基于密码学手段实现,但对标识与算法等的选择各有不同。文献[1]提出一种双向认证方案,基于对称加密算法与足够长的主密钥即可与所处网络中任何节点进行双向认证。文献[2]提出了一种分层无线传感网的匿名双因素用户认证协议,采用了哈希函数、级联操作和异或操作等轻量级安全操作,减少了传感器节点计算开销。文献[3]为引入边缘计算的智能电网设计了一个基于区块链的匿名身份认证与密钥协商协议,在此协议中,只有边缘服务器需要加入区块链系统中。文献[4]设计了一种移动边缘计算环境下基于身份的匿名认证与密钥协商协议,此协议在单次信息交换中实现相互认证,并确保用户匿名和不可追踪。文献[5]提出了一种基于聚类的物理层认证方案,该方案将分组和轻量级对称密码与物理层信道状态信息相结合,实现终端和边缘设备之间的双向认证。文献[6]提出一种基于物理不可克隆函数和哈希函数的轻量级身份验证协议。此外,还有基于挑战握手认证协议[7] 、一次性密码[8] 、可信计算[9] 、深度学习[10] 等认证机制。现有的身份认证方案大多存在部署不易、应用场景局限以及通信计算消耗较大等问题,无法直接应用于边缘计算场景。针对上述问题研究设计边缘计算下电力终端身份认证协议并验证。1)在新型网络架构的基础上,设计云边协同的终端身份认证协议,既完成终端与边缘节点的双向认证,也实现边缘节点与云平台之间的认证;2)针对电力终端资源受限的问题,本协议仅基于哈希与异或这两种轻量级操作实现,相较于传统的加解密运算开销大大减小;3)利用安全协议与应用自动化验证工具(automated validation of internet security protocols and applications,AVISPA)对协议进行安全性验证,并且与同类型协议进行性能对比,结果表明本协议更具优势。
1 云边协同认证架构
边缘计算在电网边缘侧提供就地计算满足监测、控制、计量等业务需求。云边协同网络架构模型如图1所示。云平台对边缘节点进行管理;边缘节点由边缘服务器、边缘网关、边缘平台等构成,上传部分数据至云平台,同时支持控制电力终端实现就地自治运行;电力终端根据应用场景不同各不相同,主要包括分布式电源、储能设备、智能采集与计量设备等。
图1 云边协同架构
Fig.1 Cloud-edge collaboration architecture
所设计的认证协议涉及3类实体:终端、边缘节点与云平台,协议包括2个阶段:注册阶段与认证阶段,其中注册阶段包括终端注册与边缘节点注册2部分。1.1 注册阶段 在此阶段电力终端与边缘节点分别向云平台进行注册,云平台在此阶段分别为终端和边缘节点生成预共享密钥、假名并存储,终端和边缘节点存储接收到的密钥和假名,所涉及通信过程均在安全信道内完成。1.1.1 终端注册阶段 终端需要向云平台注册,云平台在认证列表内创建或更新该终端信息,列表内包括身份标识及假名、共享密钥等,终端注册流程具体描述如下。1)终端通过安全信道发送自身身份标识 I T 至云平台;2)云平台生成随机数 x ,将 I T 与 x 拼接后计算其摘要值,所得摘要值作为终端与云平台的共享密钥 K T ,随后将 I T 、 K T 与 x 拼接后计算其摘要值,所得摘要值作为终端假名 A T ,最后通过安全信道将 K T 与 A T 传输至终端;3)终端存储 K T 与 A T ,完成注册。1.1.2 边缘节点注册阶段 边缘节点向云平台注册并存储信息,云平台在认证列表内创建或更新该边缘节点信息,列表内包含身份标识及假名、共享密钥等信息,边缘节点注册流程具体描述如下。1)边缘节点通过安全信道发送自身身份标识 I E 至云平台;2)云平台生成随机数 y ,将 I E 与 y 拼接后计算其摘要值,所得摘要值作为边缘节点与云平台的共享密钥 K E ,随后将 I E 、 K E 与 y 拼接后计算其摘要值,所得摘要值作为边缘节点假名 A E ,最后通过安全信道将 K E 与 A E 传输至边缘节点;3)边缘节点存储 K E 与 A E ,完成注册。1.2 认证阶段 认证阶段实现了电力终端与边缘节点的双向认证与密钥协商,边缘节点与云平台的相互认证。认证具体流程详细描述如下。 1)终端生成随机数 r 1 ,记录当前时间戳 T 1 ,将 r 1 与 K T 异或计算得到信息 f 1 ,将 I T 、 K T 、 r 1 与 T 1 拼接后计算其摘要值,所得摘要值作为认证参数 V 1 ,终端发送数据包1 {A T ,f 1 ,V 1 ,T 1 } 至边缘节点; 2)边缘节点接收到数据包1后,记录当前时间戳 T 2 ,验证 |T 2 −T 1 |⩽ΔT 是否满足,其中 ΔT 为最大消息延迟时间,若通过则生成随机数 r 2 ,将 I E 、 K E 、 r 2 与 T 2 拼接后计算其摘要值,所得摘要值作为认证参数 V 2 ,将 r 2 与 K E 异或计算得到信息 f 2 ,计算 r 2 的摘要值后将摘要值与 A T 异或计算得到信息 f 3 。边缘节点发送数据包2 {A E ,f 1 ,f 2 ,f 3 ,V 1 ,V 2 ,T 1 ,T 2 } 至云平台,最后,将 K E 与 r 2 拼接后计算其摘要值,所得摘要值作为更新后的共享密钥 ,同时将 I E 、 与 r 2 拼接后计算其摘要值,所得摘要值作为更新后的边缘节点假名 3)云平台接收到数据包2后,记录当前时间戳 T 3 ,验证 |T 3 −T 2 |⩽ΔT 是否满足,若验证通过则根据 A E 在认证列表中查找 I E 与 K E ,基于 K E 与 f 2 的异或计算还原随机数 r ′ 2 ,将 I E 、 K E 、 r′ 2 与 T 2 拼接后计算其摘要值,所得摘要值作为认证参数 V′ 2 ,随后验证 V′ 2 是否等于数据包2中的 V 2 ,若验证通过则边缘节点完成认证。云平台将 K E 与 r′ 2 拼接后计算其摘要值,所得摘要值作为更新后的共享密钥 ,计算 r ′ 2 的摘要值后将摘要值与 f 3 异或计算还原假名 A′ T ,根据该假名在认证列表中查找 I T 与 K T ,将 K T 与 f 1 异或计算还原随机数 r′ 1 ,将 I T 、 K T 、 r′ 1 与 T 1 拼接后计算其摘要值,所得摘要值作为认证参数 V′ 1 ,验证 V′ 1 是否等于数据包2中的 V 1 ,若验证通过则终端完成认证。云平台生成随机数 r 3 ,将 I T 与 K T 拼接后计算其摘要值,所得摘要值作为信息 f 4 ,将 I E 、 、 r 3 与 T 3 拼接后计算其摘要值,所得摘要值作为验证参数 V 3 ,而后计算 f 4 摘要值并与 V 3 进行异或计算,所得的值再计算其摘要值,最后得到的摘要值作为验证参数 V 4 ,将 r 3 与 异或计算得到信息 f 5 ,计算 r 3 的摘要值,将所得摘要值与 f 4 异或计算得到信息 f 6 。随后云平台发送数据包3 {V 4 ,f 5 ,f 6 ,T 3 } 至边缘节点,并且将 K T 与 r 3 拼接后计算其摘要值,所得摘要值作为更新后的共享密钥同时将 I T 、 与 r 3 拼接后计算其摘要值,所得摘要值作为更新后的终端假名 将 I E 、 与 r′ 2 拼接后计算其摘要值,所得摘要值作为更新后的终端假名 4)边缘节点接收到数据包3后,记录当前时间戳 T 4 ,验证 |T 4 −T 3 |⩽ΔT 是否满足,若验证通过则将 与 f 5 异或计算还原随机数 r ′ 3 ,将 I E 、 、 r′ 3 与 T 3 拼接后计算其摘要值,所得摘要值作为验证参数 V′ 3 ,将 r′ 3 摘要值与 f 6 异或计算得到消息 f′ 4 ,将 f′ 4 摘要值与 V′ 3 异或计算得到的值后再计算摘要值,所得摘要值作为验证参数 V′ 4 ,验证 V′ 4 是否等于数据包3中的 V 4 ,若验证通过则边缘节点对云平台完成认证。边缘节点生成随机数 r 4 ,将 f ′ 4 、 r 4 与 T 4 拼接后计算其摘要值,所得摘要值作为验证参数 V 5 , V 5 可拆分为 K S 、M 、 N 3份信息,其中 K S 为终端与边缘节点的协商密钥,M 与 N 则作为终端对边缘节点的认证凭证。将M 的摘要值与 r′ 3 异或计算得到信息 f 7 , f 7 确保 r′ 3 不必明文传输。边缘节点发送数据包4 {N ,r 4 ,f 7 ,T 4 } 至终端; 5)终端接收到数据包4后,记录当前时间戳 T 5 ,验证 |T 5 −T 4 |⩽ΔT 是否满足,若验证通过则将 I T 与 K T 拼接后计算其摘要值,所得摘要值与 r 4 、 T 4 拼接计算摘要值,所得的摘要值作为验证参数 V′ 5 , V′ 5 可拆分为 K′ S 、M ′、 N′ 等信息,其中 K′ S 为协商密钥,验证 N ′ 是否等于数据包4中的 N ,若通过则终端对边缘节点完成认证。终端将M ′的摘要值与 f 7 异或计算还原随机数 r′ ′3 ,将 K T 与 r′′ 3 拼接计算其摘要值,所得摘要值作为更新密钥 将 I T 、 与 r′′ 3 拼接后计算其摘要值,所得摘要值作为更新的假名 将 K ′ S 与 T 5 拼接后计算其摘要值,所得摘要值作为验证参数 V 6 ,而后发送数据包5 { V 6 , T 5 } 至边缘节点; 6)边缘节点接收到数据包5后,记录当前时间戳 T 6 ,验证 |T 6 −T 5 |⩽ΔT 是否满足,若时间戳验证通过将 K S 与 T 5 拼接后计算其摘要值,验证所得摘要值其是否等于数据包5中的 V 6 ,若相等则终端完成认证,同时完成密钥协商。
2 协议安全性分析
2.1 AVISPA仿真分析 本节利用AVISPA工具对所提协议进行安全验证。AVISPA是一个广泛应用于安全协议验证和概念证明的工具,使用Dolev-Yao模型作为基础[11] 。它使用高级协议规范语言描述协议,并集成了4种自动化分析技术的后端模型[12] ,其中只有飞行模型检测器(on-the-fly model-checker,OFMC)和限制逻辑攻击搜索(constraint-logic-based attack searcher,CL-AtSe)2种模型支持异或操作,故选取这2个后端来进行测试。仿真模型设计基本角色终端、边缘节点和云平台,设计构造角色会话和环境及验证目标。创建状态实体来描述协议的具体过程,共包含8个状态。状态实体从0开始,描述终端向云平台申请注册的过程;状态实体为1时,描述云平台为终端注册信息的过程;状态实体为2时,描述终端向边缘节点发起接入请求的过程;状态实体为3时,描述边缘节点向云平台发起认证请求同时转发终端请求的过程;状态实体为4时,描述云平台分别认证边缘节点与终端而后向边缘节点发起认证的过程;状态实体为5时,描述边缘节点认证云平台而后向终端发起认证并协商密钥的过程;状态实体为6时,描述终端认证边缘节点而后与终端协商密钥并发起认证的过程;状态实体为7时,描述边缘节点认证终端协商密钥过程。创建安全目标,包括4个机密性目标和5个认证目标,包括终端标识、边缘节点标识、密钥 K E 、密钥 K T 的机密性目标以及云边双向、边端双向、云对终端的认证目标。仿真结果如图2所示,结果显示本协议在OFMC和CL-AtSe模型下,分析总结均为“SAFE”,即本协议是安全的;目标均为“as_specified”,即得到验证。综合上述结果,本协议是安全可靠的。
图2 仿真结果
Fig.2 Simulation results
2.2 安全特性分析 分析云边协同认证协议的安全特性,而后基于各种攻击手段在协议层的具体表现,分析协议抵抗相应攻击的表现。1)匿名性。匿名性是安全协议的基本因素之一,身份认证协议不能透露任何参与者的身份信息[13] 。在认证过程中,终端与边缘节点的真实身份标识没有被发送过,而假名基于随机数以及哈希函数计算得到,故无法根据假名来反推得到身份标识。2)云边双向认证以及边端双向认证。云平台根据存储的共享密钥验证认证信息完成对边缘节点的认证,边缘节点利用共享密钥计算认证参数并验证完成对云平台的认证;终端基于预共享密钥验证认证信息完成对边缘节点的认证,边缘节点基于协商密钥完成对终端的认证。3)前向安全性。在协议中,终端与边缘节点之间生成的临时协商密钥仅作用于本次通信过程,下一次认证过程中会产生不同的协商密钥。协商密钥的计算有随机数参与,故无法根据当前的协商密钥反推出曾经使用过的协商密钥。4)消息完整性。协议中认证信息验证主要基于单向哈希函数的抗冲突性。在认证参与方传输的数据中,均包含已知信息及其组合信息的摘要值,而攻击者无法使得篡改后信息的摘要值不变,同样,在缺乏关键信息的前提下,攻击者也无法篡改摘要值使之与篡改后的已知信息匹配,故协议满足消息完整性要求。5)抗重放攻击。协议每次通信发包过程中均存在时间戳信息,接收方需要验证该时间戳,故基于被截获的信息攻击者无法直接实施重放攻击。若修改时间戳通过时间戳验证,然而时间戳参与认证信息的计算,时间戳被篡改则认证信息验证不通过,故篡改时间戳也无法实施重放攻击。6)抗仿冒攻击。所有认证信息均基于身份标识或预共享密钥经过单向哈希函数来计算得到,然而身份标识与预共享密钥均未曾在会话中传输过,故攻击者无法实施仿冒攻击。此外,终端与边缘节点的假名在传输过后会被更新,同样具有不可预测性,故无法利用假名实施仿冒攻击。7)抗离线身份猜测攻击。协议中仅认证信息与假名直接包含身份信息,然而认证信息与假名均由单向哈希函数计算得到,攻击者无法从这两个信息中获取真实标识。8)抗已知会话特定临时信息攻击。由于随机数并不存储于受保护的内存中,攻击者可能获取协议中产生的随机数发起攻击,但因为临时会话密钥的生成还基于真实标识与预共享密钥,而攻击者无法获取这两类信息,因此协议能够抵抗已知会话特定临时信息攻击。
3 协议性能评估与实验分析
性能评估主要根据本协议与现有相关的LDAKM-EIoT协议[14] 、Farash协议[15] 、Jia协议[16] 以及Zhou协议[17] 的对比分析体现,主要从通信开销、计算开销和安全特性3个方面比较。3.1 通信开销评估 为便于比较,假设本协议与相关协议中涉及的身份标识长度 L ID (或 L AID )设定为256 bits,随机数长度 L R 设定为128 bits,Hash函数的输出长度 L H 设定为256 bits(如SHA-256),时间戳长度 L T 设定为32 bits,超椭圆曲线点长度 L G 设定为1 024 bits,本协议中所有消息总长度共3 456 bits。LDAKM-EIoT协议、Farash协议、Jia协议以及Zhou协议的通信开销如表1所示。
表1 通信开销对比
Table 1 Comparison of communication costs
经过对比可知,本协议相比LDAKM-EIoT协议、Farash协议、Jia协议以及Zhou协议,在通信开销方面分别减少7.7%、19.4%、55.9%以及43.8%,本协议与同类型协议相比具有较大优势。3.2 计算开销评估 在处理器为Intel Core i5-8250 U 1.60 GHz 1.80 GHz的计算机上对各协议所涉及的运算进行1000次循环测试并计算其平均值,测试结果如表2所示。其中哈希函数以SHA-256算法测试,其耗时以 T H 表示,双线性映射耗时以 T Ge 表示,椭圆曲线点乘以 T pm 表示。
表2 不同操作运算成本
Table 2 Calculation costs of various operations
LDAKM-EIoT协议、Farash协议、Jia协议以及Zhou协议的总体计算开销如表3所示。
表3 计算开销对比
Table 3 Comparison of calculation costs
经过对比可知,本协议相比LDAKM-EIoT协议、Farash协议、Jia协议以及Zhou协议,在计算开销方面分别减少6.3%、6.3%、99.6%、16.7%,相较于同类协议具有一定优势,相较于基于非对称运算的协议具有巨大优势。3.3 安全特性评估 从协议安全特性角度对比分析LDAKM-EIoT协议、Farash协议、Jia协议、Zhou协议与本协议在安全性能上的表现。本协议的安全特性在2.3节非形式化安全分析中进行分析,满足8类安全特性,其余各协议在文献[18-25] 中进行过详细分析。本协议相较于其他同类协议可以满足更多身份认证所需的安全属性:LDAKM-EIoT协议无法抵抗用户仿冒攻击;Farash协议无法抵抗用户仿冒攻击、离线猜测攻击与已知会话特定临时信息攻击,并且不具备匿名性;Jia协议无法抵抗已知会话特定临时信息攻击;Zhou协议无法抵抗重放攻击、用户仿冒攻击与已知会话特定临时信息攻击,并且不具备双向认证功能。3.4 仿真实验与分析 目前充电桩在各地大量铺设,而充电桩除最核心的安全充电功能外,还需具备计价、支付、数据管理等功能,而这些功能数据均涉及个人隐私,所以为确保信息安全需要引入身份认证环节,准确识别接入的充电设备。根据仿真实验来模拟边缘侧智能充电桩身份认证过程,利用STM32开发板作为充电设备承担电力终端的角色,利用数字电网边缘计算控制装置作为充电桩承担边缘节点的角色,利用实验室服务器作为云服务器承担云平台的角色。在通信开销方面,参数选择与3.1节一致,在计算开销方面,由于充电设备、充电桩与云平台计算能力不同,故相同算法的运算时间不同,具体开销如表4所示。
表4 认证计算开销
Table 4 Authentication calculation costs
考虑到充电设备之类的电力终端往往计算能力较弱,而本协议在充电设备上运行的计算开销占比最小,在云服务器上占比最大,所以在总体的计算耗时方面具有优势。
4 结语
本文设计了一种适用于边缘计算环境下终端资源受限情况的认证协议,协议基于云边协同的思想,将重要认证信息存储于云平台作为认证依据;协议仅基于哈希和异或操作实现,计算轻量,适合计算资源受限的电力终端。采用AVISPA工具形式化证明协议的安全性,并且从通信开销、计算开销以及安全特性三方面评估协议的性能,证明其相较于部分现有协议具有一定优势,在满足安全性的同时保证了较低的通信与计算成本。总体而言,本协议适用于引入边缘计算的电力终端身份认证应用场景,满足安全性与轻量性要求。同时本协议也存在不足,本协议在通信轮数方面并无优势,此外本协议认证因素也相对较少。未来将继续优化本协议,压缩通信轮数以提升协议性能,考虑增加认证因素增强协议鲁棒性。(责任编辑 杨彪)
作者介绍
杨晋祥(1997—),男,硕士研究生,从事配电网终端安全接入研究,E-mail:yjxmail@zju.edu.cn; ★
彭勇刚(1978—),男,通信作者,博士,教授,从事分布式发电、智能电网等研究,E-mail:pengyg@zju.edu.cn.